Some computing platforms provide a feature that allows a user to receive the same user profile regardless of which computer the user employs to access a desktop. For example, in Windows, this technology is known as roaming user profiles. Other examples include Liquidware Labs' ProfileUnity and AppSense's Environment Manager. These tools are commonly referred to as User Environment Management (UEM) tools. Typically, UEM tools function by storing the user profile (e.g., the user's desktop configuration and personal files) on a network-accessible server. Then, when the user logs in to any network-connected computer, the user profile can be retrieved from the server and applied on the computer.
One common scenario where this type of “centralized” user profile is provided is in a virtual desktop infrastructure. For example, it is becoming more common for entities to implement a thin client environment in which the thin clients employ a remote display protocol (e.g., Microsoft's Remote Desktop Protocol or RDP) to access a virtual desktop on a server. In these environments, even though the desktop and the majority of applications may be executed on the server, there may still be some applications that are locally executed (i.e., executed directly on the thin client as opposed to within the virtual desktop). Examples of these locally executed applications include an internet browser, the virtual desktop client, lightweight office tools such as an XPS viewer, driver configuration utilities, etc.
Oftentimes, a key requirement for implementing an acceptable thin client (or virtual desktop) environment is that the virtual desktop appears as similar as possible to a local desktop. In other words, it is desirable to make the virtual desktop appear to the user as if it were a typical desktop. To accomplish this in scenarios where some applications are locally executed, it is desirable to synchronize user settings between the local device and the virtual desktop. For example, if a browser is locally installed and also available within the virtual desktop, any user-specific configurations made in one browser instance can be maintained in (or synchronized to) a centralized user profile so that the user will have the same experience regardless of which browser instance he or she is using. This synchronization will also ensure that any user settings that are applied on the local browser while using one device to access a virtual desktop will be retained and applied when the user employs a different device to access a virtual desktop.
Currently, to perform this type of synchronization between a thin client or any other type of client device (hereinafter generally “access device”) and the virtual desktop, each access device must be a member of a common directory service. For example, to provide roaming user profiles in a Windows-based virtual desktop environment, the access devices must be members of the same Active Directory domain. In particular, the Active Directory identification features can be employed to identify which user profile should be applied whenever a user logs in to a virtual desktop. However, in many cases, it is not feasible or even possible for all access devices to be part of the same directory service. For example, if the access devices run a non-Windows OS, it may not be possible to join them to an Active Directory domain.
Further, to fully implement a centralized user profile experience, current UEM tools require that a single file-sharing technology be used across all access devices (e.g., to enable a user's personal files to be available on any access device). Unfortunately, the access devices oftentimes run an OS that does not support the necessary file-sharing technology or that is not sufficiently secure to be granted file share access. Finally, current UEM tools oftentimes require that the access devices have a certain level of network access to the virtual desktop as well as to the UEM portal itself that cannot be provided due to security concerns. In many cases, the only access that the access device may have is through the remote display protocol thereby making current UEM tools unsuitable for many situations. For each of these reasons, it has not been feasible to synchronize user profiles in many virtual desktop environments especially those that include thin client access devices that do not run Windows.